/*
 * Basicos.h
 *
 *  Created on: 06/08/2012
 *      Author: Guilherme Branco
 */
#ifndef BASICOS_H
#define BASICOS_H

#include <iostream>
#include <string>
#include <stdexcept>
#include <vector>
using namespace std;
/*----------------------------------*/
class TipoBasico
{
    private:
        virtual void validar(string) throw(invalid_argument) =0;
    protected:
        string valor;
    public:
        void setValor(string) throw(invalid_argument);
        string getValor() const;
};

inline void TipoBasico::setValor(string valor) throw(invalid_argument)
{
    validar(valor);
    this->valor = valor;
}

inline string TipoBasico::getValor() const
{
    return valor;
}
#endif